package com.cloudbroker.bcs.platform.ltb.bizapi.service.admin;

import com.cloudbroker.bcs.common.annotation.NoLogin;
import com.cloudbroker.bcs.common.annotation.NoToken;
import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.request.baseRelevanted.CombineApplyNotverifyForm;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.request.baseRelevanted.CombineApplyQryForm;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.request.baseRelevanted.CombineApplyVerifyForm;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.CombRankQryBackVo;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.InterestRankQryBackVo;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.baseRelevanted.CombineApplyNotverifyVo;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.baseRelevanted.CombineApplyQryBackVo;
import com.cloudbroker.bcs.csvc.lightinvesting.api.vo.response.baseRelevanted.CombineApplyVerifyVo;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.admin.back.*;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.admin.vo.*;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.base.vo.UserVO;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.viewpoint.vo.ViewpointPublicManageQryForm;

/**
 * Created by world on 16/12/6.
 */
public interface PublicManageBizService {

    @NoToken
    @NoLogin
    UserCollectHistoryList userCollectHistoryListQry(PublicManageUserCollectQryForm form);

    @NoToken
    @NoLogin
    UserSignHistoryList userSignHistoryListQry(PublicManageUserSignQryForm form);

    @NoToken
    @NoLogin
    HSBCPSBackVO publicManageAdviserRecommend(PMAdviserRecommendForm form);

    @NoLogin
    @NoToken
    HSBCPSBackVO publicManageViewpointRecommend(PMViewpointRecommendForm form);

    @NoLogin
    @NoToken
    HSBCPSBackVO publicManageCombineRecommend(PublicManageCombineRecommendForm form);

    @NoLogin
    @NoToken
    PmAdviserRecommendList publicManageAdviserRecommendQry(UserVO userVo);

    @NoLogin
    @NoToken
    PMCombineRecommendList publicManageCombineRecommendQry(UserVO userVo);

    @NoLogin
    @NoToken
    PMViewpointRecommendList publicManageViewpointRecommendQry(PMViewpointRecommendQryForm form);

    @NoLogin
    @NoToken
    InterestRankQryBackVo publicManageAdviserQry(PublicManageAdviserQryForm form);


    @NoLogin
    @NoToken
    CombRankQryBackVo publicManageCombineQry(PublicManageCombineQryForm form);

    @NoToken
    @NoLogin
    PMViewpointList publicManageViewpointQry(ViewpointPublicManageQryForm form);

    @NoToken
    @NoLogin
    PMUserSubscribeCombineList userSubscibeCombineListQry(PMUserSubscribeCombineQryForm form);


    /**
     * 组合申请审核通过
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    CombineApplyVerifyVo func_combine_apply_verify(CombineApplyVerifyForm param);

    /**
     * 组合申请审核不通过
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    CombineApplyNotverifyVo func_combine_apply_notverify(CombineApplyNotverifyForm param);

    /**
     * 投顾组合申请查询
     * @param param
     * @return
     */
    @NoLogin
    @NoToken
    CombineApplyQryBackVo func_combine_apply_qry(CombineApplyQryForm param);

    @NoLogin
    @NoToken
    LeaderRegisterBack leaderRegister(UserCenterLeaderRegisterForm form);
}
